#ifndef PAGEDEVICEINFO_H
#define PAGEDEVICEINFO_H

#include <QWidget>
#include "core/databasepool/databasepool.h"
#include "core/threadpool/threadpool.h"
#include "modules/user-management/usermanagement.h"
#include "modules/device-management/devicemanagement.h"
#include "modules/data-monitor/datamonitor.h"
#include "modules/alert-manager/alertmanager.h"
#include "modules/data-analysis/dataanalysis.h"
#include "LogManager.h"
#include "mainbar.h"
#include <QSqlTableModel>
#include <QTableView>
#include <QDialog>
#include <QDateEdit>
#include <QVBoxLayout>
#include <QSortFilterProxyModel>
#include <QStyledItemDelegate>
#include <QDateTime>
#include <QMutex>

namespace Ui {
class pageDeviceInfo;
}

class pageDeviceInfo : public QWidget
{
    Q_OBJECT

public:
    explicit pageDeviceInfo(QWidget *parent = nullptr);
    ~pageDeviceInfo();

private slots:
    void onSearch(const QString &text);
    void refreshTable();

private:
    Ui::pageDeviceInfo *ui;
    QSqlTableModel *m_model;
    QSortFilterProxyModel *m_proxyModel;
    DeviceManagement m_deviceMgr;

};

#endif // PAGEDEVICEINFO_H
